/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * SalesGroupMapper.java
 */
package com.emm.yixun.basic.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.emm.yixun.common.model.SalesGroup;
import com.emm.yixun.common.model.dto.SalesGroupDto;
import com.emm.yixun.common.model.dto.SalesGroupViewDto;
/**
 * [文件名称]<br>
 * SalesGroupMapper.java<br>
 * <br>
 * [文件描述]<br>
 * 销售组表 mapper<br>
 * <br>
 * [修改记录]<br>
 * 2016-06-12 13:50:25 创建<br>
 * @version 1.00
 */
public interface SalesGroupMapper {
    
	/**
	 * 新增
	 * @param salesGroup 新增BEAN信息
	 * @return 操作行数
	 */
	public int add(SalesGroup salesGroup);
	/**
	 * 删除
	 * @param salesGroupDto 满足删除的条件
	 * @return 操作行数
	 */
    public int del(SalesGroupDto salesGroupDto);
	/**
	 * 删除
	 * @param ids 待删除的唯一主键拼接的字符串,主键间以,隔开
	 * @return 操作行数
	 */
    public int dels(String ids);
    /**
     * 编辑
     * @param salesGroup 需要编辑的BEAN信息
     */
    public int edit(SalesGroup salesGroup);
    /**
     * 编辑
     * @param salesGroupDto 需要编辑的BEAN信息
     * @param ids 待编辑的唯一主键拼接的字符串,主键间以,隔开
     * @return 更新行数
     */
    public int edits(@Param("salesGroupDto")SalesGroup salesGroup,@Param("ids")String ids);
    /**
     * 搜索总数
     * @param salesGroupDto 搜索条件
     * @return 符合条件记录总数
     */
	public int count(SalesGroupDto salesGroupDto);
    /**
	 * 搜索 - 支持分页
	 * @param blackWhiteList blackWhiteList(搜索条件)
	 * @param beginNum 分页开始页不包含
	 * @param endNum 分页结束页不包含
	 * @return 分页数据
	 */
	public List<SalesGroup> list(@Param("salesGroupDto")SalesGroupDto salesGroupDto,@Param("beginNum")int beginNum,@Param("endNum")int endNum);
   
    /**
	 * 搜索 
	 * @param blackWhiteList blackWhiteList(搜索条件)
	 * @return 分页数据
	 */
	public List<SalesGroup> selectListByDto(@Param("salesGroupDto")SalesGroupDto salesGroupDto);
	
    /**
	 * 搜索 - 支持分页
	 * @param blackWhiteList blackWhiteList(搜索条件)
	 * @return 分页数据
	 */
	public SalesGroup selectByDto(@Param("salesGroupDto")SalesGroupDto salesGroupDto);
	
	/**
	 * @param id
	 * @return
	 * 根据id查询记录
	 */
	public SalesGroup selectById(@Param("id")Long id);
	
	/**
	* 方法描述 : 销售组分页
	* 创建者：ThinkPad 
	* 项目名称： emm-basic
	* 类名： SalesGroupMapper.java
	* 版本： v1.0
	* 创建时间： 2016年6月17日 下午3:20:04
	* @param beginNum
	* @param endNum
	* @return List<SalesGroup>
	 */
	public List<SalesGroupViewDto> groupList(@Param("salesGroupDto")SalesGroupDto salesGroupDto,@Param("beginNum")int beginNum,@Param("endNum")int endNum);
	
	/**
	 * @param 商户id，项目Code，用户Id
	 * @return
	 * 根据id查询记录
	 */
	public Long selectGroupId(@Param("merchantId")Long merchantId,@Param("productCode")String productCode,@Param("userId")Long userId);

}
